]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
search: Drop SearchResultInterface again
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 17 Oct 2019 12:27:10 +0000 (14:27 +0200)
committerMarco Trevisan <mail@3v1n0.net>
Thu, 17 Oct 2019 15:56:07 +0000 (15:56 +0000)
It adds a significant cost to AppIcons which are used
 - quite a log (depending on installed apps)
 - in preformance-sensitive contexts (spring animation)

Just rely on duck typing and revert 91a5133116.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1799

js/ui/appDisplay.js
js/ui/search.js

index 5e20c09257656ac5fe8bbdd74a7b47902dbc6be7..79c2f7e83afac0a77ba0283dc40cd8862416cdc7 100644 (file)
@@ -2045,7 +2045,6 @@ var AppFolderPopup = GObject.registerClass({
 
 var AppIcon = GObject.registerClass({
     GTypeName: 'AppDisplay_AppIcon',
-    Implements: [Search.SearchResultInterface],
     Signals: {
         'menu-state-changed': { param_types: [GObject.TYPE_BOOLEAN] },
         'sync-tooltip': {},
index 0d31edb3c7f1c4874298181e556b21d0caabc173..3dab92b91a09003ee6e85c3547e56c921450b987 100644 (file)
@@ -1,5 +1,5 @@
 // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
-/* exported SearchResultsView, SearchResultInterface */
+/* exported SearchResultsView */
 
 const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
 
@@ -32,17 +32,8 @@ class MaxWidthBox extends St.BoxLayout {
     }
 });
 
-var SearchResultInterface = GObject.registerClass({
-    Requires: [Clutter.Actor],
-}, class SearchResultInterface extends GObject.Interface {
-    activate() {
-        throw new GObject.NotImplementedError('activate in %s'.format(this.constructor.name));
-    }
-});
-
-var SearchResult = GObject.registerClass({
-    Implements: [SearchResultInterface]
-}, class SearchResult extends St.Button {
+var SearchResult = GObject.registerClass(
+class SearchResult extends St.Button {
     _init(provider, metaInfo, resultsView) {
         this.provider = provider;
         this.metaInfo = metaInfo;
@@ -253,8 +244,6 @@ var SearchResultsBase = GObject.registerClass({
                 metasNeeded.forEach((resultId, i) => {
                     let meta = metas[i];
                     let display = this._createResultDisplay(meta);
-                    if (!(display instanceof SearchResultInterface))
-                        throw new Error(`${display} is not a valid search result`);
                     display.connect('key-focus-in', this._keyFocusIn.bind(this));
                     this._resultDisplays[resultId] = display;
                 });